1. Field of the Invention
The present invention generally relates to an image processing apparatus used in a facsimile machine and the like. More specifically, the present invention is directed to an image processing apparatus capable of improving a halftone image process.
2. Related Art of the Invention
When an original such as a photograph having a halftone is transmitted via the conventional facsimile machines, since the image thereof reproduced at the receiver side is represented only by white pixels and black pixels, white portions and black portions of this image are excessively strengthened and thus, the image qualities thereof are considerably lowered. To avoid such a conventional drawback, very recently, there have been developed such image processing apparatuses in which each pixel data read out from an original is constructed of plural bits and has plural gradations, whereby a halftone of the image is reproduced by these pixel data in order to extensively improve an image quality.
In general, on the other hand, the halftone is printed by the printer, which requires complex circuits and controls. Accordingly, to reproduce the pixel data having such gradations by these halftones, certain pixel data having these gradations is converted into data having a binary level in accordance with a predetermined process, so that these halftones are suspectedly represented.
It should be understood that the error diffusion method has been widely known as the above-described predetermined process for converting the pixel data having the gradations into the data having the binary data. Briefly speaking, as represented in FIG. 3, this error diffusion method is understood as follows. Assuming now that pixel data for two lines which had been acquired by reading an image have been stored in a memory, pixel data "x" (data on a position indicated by a black point) with respect to a coordinate (i, j) of data is to be considered. With respect to pixel data on the respective coordinates (i, j+1); (i+1, j-1); (i+1, j) and (i+1, J+1) around this pixel data "x", diffusion coefficients a.sub.0, a.sub.1, a.sub.2 and a.sub.3 are given. It should be noted in this case that in the pixel data, the gradations of 0 to 255 are represented by 8 bits, and also the gradation of "0" indicates black, whereas the gradation of "255" represents white.
Then, a judgement is first made whether the data "x" is greater than "128" corresponding to the intermediate value between white and black. If it is judged that the data "x" is greater than "128", then this data "x" is regarded as "255" (white). Conversely, if it is judged that the data "x" is smaller than "128", then this data "x" is regarded as "0"(black). Then, the data "x" is binary-coded. Furthermore, in case that a judgement is made that the data "x" is greater than "128", the error diffusion process is carried out with respect to the data of the respective coordinates based upon the following equation: EQU (x-255).times.(an/x)+y=Y (1)
Conversely, if another judgement is made that the data "x" is smaller than "128", the data of the respective coordinates based upon the following equation is obtained: EQU (x-0).times.(an/s)+y=Y (2)
where symbol "an" indicates a diffusion coefficient given to each of the data on these coordinates; symbol "s" denotes a summation of the respective diffusion coefficients; symbol "y" represents a pixel data value of each of the coordinates; and symbol "Y" is a data value which is again stored in the respective coordinates after the calculations.
Accordingly, for instance, in case that the following diffusion coefficients are given; a.sub.0 =7; a.sub.1 =3, a.sub.2 =5; and a.sub.3 =1, assuming that the pixel "x" is equal to "200", this pixel "x" becomes a white pixel by way of the error diffusion process, and another pixel positioned on the coordinate neighbor (i, j+1) of the data "x" is added by: EQU [200(x)-255].times.[7(a.sub.0)/16(s)].apprxeq.-24.
Similar process operations will be executed for other peripheral pixels.
As previously explained, in accordance with such an error diffusion method, a comparison is made between the pixel data and the reference value "128", whereby the pixel data is substituted by either "0" or "255" and then binary-coded, and furthermore the difference in the value of "x" is diffused around the coordinates (i, j+1); (i+1, j-1); (i+1, j) and (i+1, j+1), with the respective weights and then new data values of peripheral data may be obtained. That is to say, the error occurring in the data "x" and reference value "128" is distributed to the peripheral pixels. Such a process operation is performed with respect to all of these data for each line, and thus each of the data is binary-coded with the value containing the diffusion error, so that the halftone image having the density gradation analogous to the original image is obtained.
In accordance with the error diffusion method, since the binary coding operation involving these accumulated errors is carried out, and the errors caused by comparing the binary-coded values and the original pixel values are diffused toward the pixels which have not yet been processed and are positioned around the relevant pixel, there are some possibilities that the portions which should be originally represented in either black or white gradation, are not indicated by either black or white gradation by reason of the error diffusion, depending upon the accumulated errors and also the peripheral conditions of the pixel. As a consequence, there are drawbacks that the reproduced character data may have bad image qualities because some pixels are dropped out from the reproduced shape of characters.